Abstrakte Modellierung der Eigenschaften von nanoelektronischen CNT-Elementen in SystemC
نویسندگان
چکیده
Möglichst genaue Simulationen von Digitalschaltungen, die auf nanoelektronischen Komponenten basieren, benötigen abstrakte Modelle, in denen die wesentlichen Eigenschaften der realen Schaltung repräsentiert sind. Wir beschreiben SystemC-Modelle, die die Eigenschaften von auf Kohlenstoffnanoröhren-Transistoren basierenden Schaltungen abstrahieren und für eine Simulation auf der RT-Ebene zugänglich machen. Durch die funktionale Modellierung von Bottom-Up Effekten ist es möglich, die modellierte Information auch anderweitig, z. B. in Syntheseprozessen, zu verwenden. Die Modelle enthalten Profilingund Überwachungsfunktionalität, die ein Verfolgen von Events, die Verletzung des Timings sowie zur Verlustleistungsmessung implementieren. Erste Vergleiche der Simulationsergebnisse der Originalmodelle mit den Abstraktionen zeigen eine gute Übereinstimmung der Resultate. 1 Einleitung Der Entwurf von Systemen, die auf neuartigen nanoelektronischen Komponenten basieren, stellt eine große Herausforderung für die verwendeten EDA-Methoden und Architekturen dar [BKD04, SL04]. Für eine detaillierte Systemsimulation können Abstraktionen der zugrunde liegenden Schaltungselemente verwendet werden, die so genau wie möglich deren Eigenschaften wiederspiegeln und gleichzeitig eine sehr schnelle Auswertung erlauben müssen. SystemC wird hauptsächlich zur Simulation großer digitaler Systeme verwendet. Die Ziele sind dabei eine Simulation auf Systemebene zur Überprüfung des Systemverhaltens bzw. eine systematische Untersuchung des Entwurfsraums. Werden Modelle mit Timing-Information erstellt, sind auch taktzyklengenaue Simulationen möglich. Innerhalb der Module hängt die Genauigkeit der Funktionalitätsdarstellung von den Details der jeweiligen Implementierung ab. C++ kann verwendet werden, um ein beliebiges Verhalten sowie zusätzliche Funktionalität in das Modell zu integrieren. Wir verwenden die Information aus Simulationsläufen eines semiempirischen SPICEModells von Carbon-Nanotube-Feldeffekttransistoren (CNFETs) zum Aufbau eines SystemC-Simulationsmodells einiger Grundschaltungen. Das semiempirische Modell wurde von Dwyer et al. in [DCS04] vorgestellt. Die hier von uns basierend auf dieser Arbeit beschriebenen Elemente sind ein NAND Gatter, ein FlipFlop sowie ein EXOR Gatter. Die Modelle sollen so genau wie möglich das Verhalten ihrer entsprechenden SPICE-Modelle wiederspiegeln und können für detaillierte Simulationen solcher CNFETbasierten Schaltungen eingesetzt werden. So kann das Zeitverhalten und näherungsweise 329 der Leistungsverbrauch untersucht werden. Im Gegensatz zu [XCS03] ist bei uns die Messung des Leistungsverbrauchs in die Schaltungsmodelle, nicht aber in die SystemCBibliothek integriert. 2 Modellierung der CNFET-Schaltungen Als Grundlage für unsere Modelle verwenden wir ein semiempirisches dynamisches CNFET-Modell, das in [DCS04] auf der Basis von Messergebnissen [RYP02] entworfen und um dynamische Eigenschaften erweitert wurde. Aus den damit beschriebenen Transistoren können größere Schaltungen zusammengesetzt werden, die dann den entsprechenden CMOS-Strukturen sehr ähnlich sind. Als Basis werden hier ein NAND Gatter und ein Inverter verwendet. Das in unserer Arbeit untersuchte D-FlipFlop ist negativ-flankengetriggert und besteht aus acht NAND Gattern und einem Inverter. Erste Untersuchungen ergaben einen möglichen Wert von 0.6 V für die Versorgungsspannung und eine Taktfrequenz von bis zu 8 GHz. Das EXOR Gatter ist ebenfalls aus NAND Gattern aufgebaut. Die charakteristischen Timingund Verlustleistungsdaten des FlipFlops und der Gatter wurden durch SPICESimulationen ermittelt. Für das FlipFlop wurden das CLK→Q Delay-Verhalten und die Setupund Hold-Zeiten bestimmt. Die typische Verzögerung wird bei einem sicheren Abstand von der minimalen Setup-Zeit ermittelt und beträgt 24.51 ps. Setupund Hold-Zeiten können ebenfalls nur experimentell bestimmt werden. Die Verzögerung CLK→Q steigt an, sobald sich die Eingangsflanke der minimalen Setup-Zeit nähert. Wird die Setup-Zeit verletzt, schaltet das FlipFlop nicht. Die Hold-Zeit für unsere Simulation ergibt sich zu 0. Die minimale SetupZeit beträgt 26.955 ps (2.5 FO-4 Verzögerungen). Insgesamt werden für das FlipFlop 31 Werte in das SystemC-Modell integriert. Einige davon sind in Tabelle 1 gezeigt. Alle Werte sind in einer Header Datei des SystemC-Moduls abgelegt. FlipFlop Transition 0 → 1 Transition 1 → 0 typ. Delay CLK→Q 2.273 3.042 Setup (boundary) 2.247 2.659 Delay (setup boundary) 8.316 3.383 Tabelle 1: Einige Timing-Werte des SystemC-Modells, hier normiert auf FO-4 Delays (10.782 ps). Logische Gatter werden innerhalb von Simulationen gewöhnlich als eine Kombination aus einem idealen Gatter und einer nachgeschalteten Verzögerung modelliert. Unser Modell berücksichtigt zusätzlich zu der Schaltverzögerung auch einige Effekte, die sich aus der Filterwirkung für kurze Eingangspulse oder Skew ergeben. Dazu werden ebenfalls Daten aus den entsprechenden Simulationen verwendet. Der Leistungsverbrauch besteht aus einer statischen und einer dynamischen Komponente. Zur Bestimmung der statischen Verlustleistung wurden die Schaltungen über einen längeren Zeitraum ohne Änderungen an den Eingängen simuliert. Zur Bestimmung 330 des dynamischen Leistungsverbrauchs müssen die unterschiedlichen Kombinationen der Eingangsund Ausgangssignale, bzw. im Fall des FlipFlops der gespeicherte Wert, berücksichtigt werden. 3 Die SystemC-Modelle Die Implementierung des NAND Gatters und des FlipFlops haben einen ähnlichen Aufbau, hier wird nur das FlipFlop-Modul genauer beschrieben. Es besteht aus sechs Threads, die in Tabelle 2 zu sehen sind. Aufgeführt sind ebenfalls die Signale, auf die die Threads sensitiv reagieren, die getriggerten Events (notify) und die Events auf die sie warten. Die Thread Sensitivity Notify Wait on Event DinEvent Din din event – ClkNegEvent clk.neg() clk neg event – ClkPosEvent clk.pos() clk pos event – GetDelay – calc event clk * event, din event GetQout – – calc event StaticEnergy Din, Qout, clk – – Tabelle 2: Die sechs Haupt-Threads des SystemC-FlipFlop-Modells. ersten drei Threads verarbeiten die beiden Eingänge und sind sensitiv auf den Dateneingang bzw. die negative und positive Taktflanke. Abhängig von diesen Events wird ein Ausgabewert berechnet und ein Event zur Aktivierung des GetDelay Threads erzeugt. Dieser wiederum berechnet die zugehörige Ausgangsverzögerung unter Zuhilfenahme aller Timing-Daten aus den SPICE-Simulationen und aktiviert den Thread GetQout, der die Ausgabe verzögert und den Ausgang entsprechend setzt. Bei jeder Verletzung des Timings wird eine Warnung ausgegeben, darüber hinaus wird das Verhalten des Analogmodells so weit wie möglich reproduziert. Der Kontrollfluss innerhalb des Modells ist in Abb. 1 gezeigt. Der Thread StaticEnergy berechnet den statischen Energieverbrauch
منابع مشابه
Testfallgenerierung für SystemC-Designs mit abstrakten Modellbeschreibungen
Bei dem Entwurf von eingebetteten Systemen spielt die Verifikation eine entscheidende Rolle. SystemC hat sich für die Modellierung gemischter Hardware/SoftwareSysteme, vor allem auf hoher Abstraktionsebene, durchgesetzt. Für solche High-level SystemC-Modelle existieren allerdings heutzutage keine Werkzeuge zur formalen Verifikation, weshalb oftmals simulative Verfahren zur Verifikation der Mode...
متن کاملPräzises Interrupt Scheduling in abstrakten RTOS Modellen in SystemC
Bei der Simulation von eingebetteten Echtzeit Systemen zur Analyse von Ausführungszeiten und Scheduling gibt es immer einen Kompromiss zwischen zyklengenauen Ergebnissen und der Laufzeit der Simulation. Mithilfe von abstrakten RTOS Modellen auf Basis von SystemC wird versucht diese Lücke zu schließen. Aktuelle Arbeiten besitzen allerdings nur unzureichende Möglichkeiten zur Modellierung von Int...
متن کاملSicherheit im Softwareentwurf - Integrierte Modellierung von Security und Softwarearchitektur
Die Anforderungen an die Informationssicherheit heute eingesetzter Softwaresysteme steigen zunehmend. Dennoch werden sie während der Softwareentwicklung meist vernachlässigt. Softwarearchitekturen beeinflussen die Erfüllung nichtfunktionaler Eigenschaften wie Informationssicherheit wesentlich. Existierende Ansätze erlauben keine explizite Modellierung der Informationssicherheit eines Softwaresy...
متن کاملModellierung von Kennzahlensystemen mit BPMN
Mit dem Ziel einen möglichen Ansatz zur Verbindung von Kennzahlensystemen mit Prozesssystemen zu finden, diskutiert der vorliegende Beitrag Fragestellungen hinsichtlich der Modellierung von Kennzahlensystemen innerhalb einer Prozessstruktur unter Berücksichtigung der Eigenschaften eindimensionaler und mehrdimensionaler Kennzahlensysteme. Die ausgewählte Modellierungssprache für die Untersuchung...
متن کاملModellierung von Variabilität mit UML Use Cases
Die Entwicklung einer Software-Produktlinie stellt hohe Ansprüche an den gesamten Softwareprozess, insbesondere auch an das Requirements Engineering. Clements und Northrop definieren eine Produktlinie wie folgt [Cle01]: “A software product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or missi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005